package params

// SystemConfig 服务器配置参数
type SystemConfig struct {
	SystemLogo      string `json:"systemLogo" yaml:"systemLogo"`
	SystemIcon      string `json:"systemIcon" yaml:"systemIcon"`
	SystemName      string `json:"systemName" yaml:"systemName"`
	SystemCopyright string `json:"systemCopyright" yaml:"systemCopyright"`
	SystemRecordNo  string `json:"systemRecordNo" yaml:"systemRecordNo"`
	DefaultUsername string `json:"defaultUsername" yaml:"defaultUsername"`
	DefaultPassword string `json:"defaultPassword" yaml:"defaultPassword"`
}

type SafeConfig struct {
	LoginLockThreshold int  `json:"loginLockThreshold" yaml:"loginLockThreshold"`
	LoginLockExpire    int  `json:"loginLockExpire" yaml:"loginLockExpire"`
	LoginLockDuration  int  `json:"loginLockDuration" yaml:"loginLockDuration"`
	MinPasswordLength  int  `json:"minPasswordLength" yaml:"minPasswordLength"`
	RequireSpecialChar bool `json:"requireSpecialChar" yaml:"requireSpecialChar"`
}

// CaptchaConfig 验证码配置参数
type CaptchaConfig struct {
	Enable bool `json:"enable" yaml:"enable"`
	Length int  `json:"length" yaml:"length"`
}

// ConfigRequest 配置请求参数
type ConfigRequest struct {
	System  SystemConfig  `json:"system" yaml:"system"`
	Safe    SafeConfig    `json:"safe" yaml:"safe"`
	Captcha CaptchaConfig `json:"captcha" yaml:"captcha"`
}
